home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / moni / msip.lha / MSIP.doc < prev    next >
Text File  |  1992-06-28  |  25KB  |  653 lines

  1.                  MSIP
  2.  
  3. This program is based on Xoper V2.2 by Werner Gunther
  4. It will only run under Kickstart V37 and MUST have an 68020 or greater processor
  5. New commands have been added, some routines have been rewritten and some
  6. have been disabled
  7.  
  8. I decided to change the name to MSIP to avoid any confusion with Xoper V2.3
  9. and any later versions that may arise
  10.  
  11. Xoper is a freeware program to display and to control system activity.
  12. Permition is granted to freely distribute this program.
  13.  
  14. --------------------------------------------------------------------------
  15. Changes in V1.2:
  16. New commands: Snoop, Capture, ClrCool, ClrWarm, ClrCold.
  17. Added        : CPU usage by task.
  18.  
  19. Cancel command has been rewritten, some minor bugs removed.
  20. ---------------------------------------------------------------------------
  21. Changes in V1.3:
  22. New commands: [S]=Stack usage, Sort, Hide, Hidden, Header, Window,
  23.           InputHandler.
  24. Added        : Support of startup-scripts, I/O Interrupts/second, 'Kill' an
  25.           alias for 'Cancel'.
  26. Some BIG bugs have been removed: The port-display used to GURU if more than
  27. 32 Ports did exist. The Cli Xoper has been started did act like having a
  28. priority of 128. Unlock didn't unlock sometimes, the interrupt/priority
  29. field did contain rubbish, Currentdir didn't examine all Processes.
  30. There were some more, minor bugs, all (hopefully) removed.
  31. ---------------------------------------------------------------------------
  32. Changes in V1.3b:
  33. New commands: [C] information on CLI-Tasks.
  34. Added        : 'Time 0' stops any update, System-Requesters are now handeled
  35.           correctly (affects 'Kill' and 'Closewindow').
  36. ---------------------------------------------------------------------------
  37. Changes in V2.0:
  38. The 'user interface' (what user interface ?) has been rewritten from
  39. scratch, and a small iconify routine has been added. To customize the whole
  40. thing a little bit, there are a few new commands:
  41.  MinimumChars, HistoryLines, ShowHistory, KillHistory, OutputLines,
  42. IconifyOff, BackDropIcon, UseScreen, UseWindow.
  43. Other new commands include:
  44. TimerIO, RemResident, Repeat, TrapGuru, Setfont, DiskChange, Alias,
  45. SaveOutput.
  46. Addresses are now shown as 32-Bit values for 68020 compatibility. The 'More'
  47. command is obsolete and has been removed. The 'interrupt list' has two new
  48. fields. 'Time' w/o parameters shows current setting. 'display commands'
  49. separated by blanks will display the lists one by one, instead of
  50. displaying them all at once.
  51. ---------------------------------------------------------------------------
  52. Changes in V2.1:
  53. Mostly bug fixes:
  54.  KS1.3 dependancy removed. Using UseScreen in the startup file could crash
  55. the program if started with the -b flag. The S (stack) command wasn't
  56. robust enought. Some strangness in the 'KILL' routine have been removed.
  57. The iconizing routine couldn't distinguish between multiple drags and
  58. doubleclicks.
  59. Added: SetFKeys, Time accepts values < 1, 'Windows' shows the owner task (if
  60. available). The task display shows the name of the loaded command
  61. (enclosed in '[]') instead of the name, if the task is a CLI, 'CLICmd'
  62. toggles this feature on/off. Commandline completion using <tab>.
  63.  
  64. A new program 'KillXoper' has been added to the distribution to remove
  65. Xoper from memory in case it loops or freezes (I hope it won't be needed).
  66. ---------------------------------------------------------------------------
  67. Changes in V2.2:
  68. The 'KillXoper' routine has been put into Xoper's main program. Loaded CLI
  69. commands are always displayed, not only in the task list.
  70. ---------------------------------------------------------------------------
  71. Changes in MSIP:      (Martin Ozolins)
  72. New commands added 'x' and 'u'. 
  73.  
  74. The Header for the T U F displays has been changed.
  75.  
  76.     The CPU activity now shows a correct % figure to 3 decimal places.
  77.         The Dispat/Sec now works if there are greater than 255 dispatches/sec
  78.  
  79.        On the Header lines, 5 new displays have been added, they are
  80.        Dispatches    - How many Dispatches there were during the Time frame
  81.        Idle Count    - How many times the CPU went into STOP mode
  82.        Ticks Total   - How many Ticks were used by ALL the tasks
  83.             This is only the number of complete Ticks that were 
  84.             used, if a Task has not used at least 1 tick then
  85.             it will not be shown in the Header
  86.        Interrupts    - How many Interrupts of ALL types there were.
  87.        I/O Interrupts- Total number of I/O nterrupts in the Time frame
  88.        Update        - The time in hh:mm:ss.microseconds between each Screen Update
  89.        Tasks         - The Total time used by the Tasks during the Update time
  90.        Idle          - The time that the CPU went into STOP mode. This happens
  91.                         when there is no Task/Process in a READY state. The CPU
  92.                         waits for an Interrupt before it checks to see if a Task 
  93.                         is ready to be dispatched. This Time also includes Exec
  94.                         overhead during Task Switching. Exec overhead is usually
  95.                         less than 3%.
  96.   In the Task List Display, 2 new fields were added
  97.        Dispat        - How many times the task was Dispatched
  98.        Ticks1        - How many times the Task used more than 1 but less than
  99.                         2 ticks 
  100.        Ticks2        - How many times the Task used more than 2 but less than
  101.                         3 ticks
  102.        Ticks3        - How many times the Task used 3 ticks
  103.                         
  104.   The 'U' display shows how long in hh:mm:ss.microseconds a task has been active 
  105.     during the Update time.
  106.     The %CPUSE has been rewritten to show the actual correct % usage of the task.
  107.  
  108.   The 'X' display shows a list of all the Exec Routines and how many times they
  109.     were called.
  110.  
  111. Quite a few parts were rewritten to use ONLY 68020 or higher instructions, thus
  112. it will NOT run on a 68000 or 68010 processor
  113. Due to some of the routines being used, Kickstart V37 is required
  114.  
  115. Also, Xoper now checks for the presence of the 68030 68040 68881 68882 chips
  116.  
  117. The Ticks fields need some comment.
  118. Under KickStart 37.xxx and up, each task is allocated a time frame of 4 ticks
  119. This does not mean that the task will use up the whole time, it may (and usually)
  120. use a lot less than the allocated time. Below 37.xxx, the tasks are allowed 6 ticks.
  121. Every time an Interrupt occurs, the Exec checks to see if a higher priority
  122. task needs to be run and if so, it will put the lower priority task onto the wait
  123. queue.
  124. If a task calls Wait() etc, then it will be moved to the wait queue, thus it does
  125. not use its complete allocated time.
  126. Most often, you wll see that a task has 84 dispatches and 0 ticks, this
  127. means that the task used up less than 1 tick out of its allocated time.
  128. If a task has 84 dispatches and 10 ticks, then you know that it has used at least
  129. 10 full ticks.
  130. If a task has 10 Dispatches and 40 ticks, then you know that it is a CPU hog as
  131. it has used up all of is allocated quantum time slice.
  132.  
  133. By using these figures, you can see that most tasks get dispatched a lot but very
  134. few of these tasks use more than 1/4 of ther allocated time.
  135.  
  136.  
  137. If anyone has any questions regarding the above, I can be contacted at the
  138. following address
  139.    FIDO   3:633/359.6
  140.    UseNet monster@mbear.pub.uu.oz.au
  141.  
  142. BUGS -: The GetCC figure in the X display will always show 0, for some reason
  143.      it will not update the count
  144.     The Files and Locks commands have been disabled untill they have been
  145.     modified to work under WB2
  146.  
  147. --------------------------------------------------------------------------
  148.  
  149.  
  150.  
  151. Starting Xoper from CLI:
  152.  
  153. Xoper [kill] [-b] [T] [F] [S] [L] [D] [R] [E] [M] [P] [I] [C] [X] [U]
  154.  
  155. These parameters are described below. For all those who like long
  156. Startup-Sequences, overcrowded memory and hot-keys enter
  157.  
  158. Xoper -b
  159.  
  160. This will install Xoper in background waiting for LeftAmiga-RightAmiga-X
  161. to pop up. In both cases you don't have to RUN or RUNBACK Xoper, it will
  162. always create its own process.
  163.  
  164. Xoper kill
  165.  
  166. will kill an already running Xoper task from outside, in case Xoper hangs or
  167. guru's.
  168.  
  169. At startup Xoper loads and executes a file named S:Xoper.Startup if such a
  170. file is available. This startup-script is used to set default values, the
  171. window size or the initial default list to be displayed. The Xoper-window
  172. will only be opened after the startup-script has been processed. Look at the
  173. end of the document for a sample startup file.
  174.  
  175. Xoper Window:
  176. -------------
  177.  The window (or screen if you request one) is devided into two sections: a
  178. very small input line on the bottom and a large output area on the top. If
  179. the output exceeds the size of the window you may scroll or 'page' through
  180. the text using the num-pad keys:
  181.  
  182. A1000  A2000/A500
  183.   7    Home        Top of display
  184.   1    End        Bottom
  185.   9    Pg Up        one page up
  186.   3    Pg Dn        one page down
  187.   8    Up Arrow    one line up
  188.   2    Down Arrow    one line down
  189.   4    Left Arrow    one page left
  190.   6    Right Arrow    one page right
  191.  
  192.  The input section has some line editing facilities and a history buffer
  193. contollable with the following keys (similar to NewCon and ConMan):
  194.  
  195. Cursor left        cursor one character left
  196. Shift  left        cursor to the start of the next word
  197. Cursor right        one character right
  198. Shift  right        previous word
  199. Cursor Up        previous line in history buffer
  200. Shift  Up        top of buffer
  201. Cursor Down        next line in history buffer
  202. Shift  Down        bottom of buffer
  203. DEL            DEL
  204. BS            backspace
  205. Ctrl   X        delete line
  206. Ctrl   Y        delete EOL
  207. Ins   (numpad '0')      toggles insert mode (default is 'on')
  208. Del   (numpad '.')      same as DEL
  209.  
  210. ESC            moves the input area from the bottom into the
  211.             output section. Entering a command here (i.e
  212.             overwiting an output line), will cause Xoper to add
  213.             the address of that node to your command line.
  214.             Example: Show the hunks of a 'File.System' process:
  215.             type 'T' to get a list of all tasks, press <esc>,
  216.             move the cursor to the line displaying the
  217.             File.System process and type 'Hunks <enter>'. Press
  218.             <enter> once more to return to the usual Xoper
  219.             display.
  220. Help            displays a help panel.
  221. TAB            Command line completion.
  222.             Example: press <c>, hit <tab> several times.
  223.  
  224. The Xoper window has, beside the usual closewindow and depth-arrange
  225. gadgets, a custom gadget on its title bar, used to iconify Xoper. The icon
  226. may be moved anywhere on the screen just by dragging it, double clicking
  227. the icon will restart the program. The window itself is a simple_refresh
  228. window, so it may look a little bit sluggish when it needs a refresh.
  229.  
  230. Xoper Commands:
  231. ---------------
  232.  
  233.  Commands are entered in the command line at the bottom of the window,
  234. these are divided into two groups:
  235.  
  236. Display commands: These are always single character entries and may be
  237. specified in any order, upper or lower case, after the prompt or from CLI
  238. as parameters. If more than one list has to be displayed, you may enter
  239. several commands in one line. Separating them with blanks display the lists
  240. one by one instead of showing them all at once.
  241.  
  242. T = Tasks (Default if Xoper is called without parameters)
  243. Task node (HEX),  status, priority (decimal), processnumber for Dos-Processes 
  244. (decimal), taskname (or the name of the loaded command, if a CLI process. 
  245. The loaded command name is enclosed in '[]').
  246.  
  247. F = Task Flags
  248. Task node (HEX), Allocated Signals (HEX), Signals the Task is waiting for
  249. (HEX), Signals received (HEX), Address of the next instruction to be
  250. executed (HEX)- this is not totally accurate
  251.  
  252. C = Cli Commands
  253. Task node (HEX), Type (interactive/batch), Mode (Background/Foreground),
  254. CLI number, CLI name, program it executes.
  255.  
  256. L = Libraries
  257. Base address (HEX), open count (decimal), version (decimal), revision
  258. (decimal), flags (binary), libraryname.
  259.  
  260. D = Devices
  261. Base address (HEX), open count (decimal), version (decimal), revision
  262. (decimal), flags (binary), devicename.
  263.  
  264. E = Resident (sorry)
  265. Base address (HEX), priority (decimal), flags (binary), version
  266. (decimal), type, name.
  267.  
  268. R = Resources
  269. Base address (HEX), open count (decimal), version (decimal), revision
  270. (decimal), flags (binary), resource name.
  271.  
  272. M = Memory
  273. Lower and upper bounds (HEX), bytes free (decimal), attributes, priority
  274. (decimal), hunk name.
  275.  
  276. P = Ports
  277. Node address (HEX), portname, flags, signal bit (decimal), queue length
  278. [number of messages] (decimal), taskname.
  279.  
  280. I = Interrupts
  281. Node address (HEX), pointer to interrupt data (HEX), pointer to interrupt
  282. code (HEX), priority (decimal),[T]ype ([S]erver/[H]andler), [S]tate
  283. ([E]nabled/[D]isabled), type (interrupt queue the interrupt belongs to),
  284. interrupt name.
  285.  
  286. S = Stack
  287. Lower limit of the stack, stack size, currently used stacksize, taskname.
  288. If you want to minimize your stack using this utility, please note that
  289. DOS-functions use 1500 Bytes at the bottom of the Stack frame for their own
  290. purposes and note that the stacksize is only checked one time per second by
  291. this command.
  292.  
  293. H = Help ( or ?)
  294. Show a list of commands.
  295.  
  296. ; = NOP
  297. Skip this line (used for remarks in a script file)
  298.  
  299. X = Exec functions, show how many times Exec functions have been called
  300.  
  301. U = A better version of the T command. Shows TIME in seconds and %CPUSE
  302.     to 3 decimal places ( this is accurate )
  303.  
  304. Q = Quit
  305. Same as QUIT (see below).
  306.  
  307. Example: Entering TPM would display Tasks, Ports and Memory. The display
  308. would be updated after a few seconds (5 by default, may be changed
  309. anytime, see below.)
  310.  
  311. Other commands that do not display EXEC lists:
  312. These commands may be entered upper or lower case. Parameters enclosed
  313. in '<>' must be, enclosed in '[]' may be specified. Names are usually
  314. entered as ascii strings, it can however happen that two or more nodes of
  315. the same name exist. On tasks you may specify the DOS-Processnumber to
  316. sort them out. If everything fails, you can enter the Node-Address with a
  317. leading '$'. This address will be checked first before the command is being
  318. executed. If the check fails, you'll get an error message or a warning or
  319. a prompt, depending on what went wrong. Names are always the last parameter
  320. to enter. This may seem strange, but it is the simplest way to get rid of
  321. embedded blanks.
  322.  
  323. Time <seconds>
  324. Set time between updates. Minimum is 0.1 seconds, maximum is 255.9, default
  325. is 5 seconds. Time 0 stops automatic update and waits for a keypress. Values
  326.  < 0.5 are not recommended.
  327. Example: Time 1.5
  328.  
  329. Taskpri <priority> [processnumber] <taskname>
  330. Change the priority of a task. Values may range from -127 to 127, better
  331. use values between -5 and 5.
  332. Example: Taskpri 1 New Cli
  333.  
  334. Mypri <priority>
  335. Shortcut for "Taskpri Xoper <priority>"
  336. Example: Mypri 2
  337.  
  338. Pri <priority> <nodename>
  339. Change the priority of any other node. This command does not work for Tasks.
  340. If the specified node has been found, the entire list the node belongs to
  341. will be resorted.
  342. Example: Pri 1 Chip Memory      (try to allocate memory in CHIP first)
  343.  
  344. Break [processnumber] <taskname>
  345. Set break signals. Useful for tasks running in background or from Workbench.
  346. Example: Break 3 New CLI
  347.  
  348. Hunks [processnumber] <processname>
  349. Show location, BCPL-Pointers and length of memory blocks the process uses.
  350. Example: Hunks RAM
  351.  
  352. Snoop [processnumber] <taskname>
  353. Track memory allocation/deallocation of a task. Press break (CTRL-C) to
  354. stop. List includes: action (alloc/free), memory requirements (CHIP/ FAST/
  355. PUBLIC etc), memory size, memory location (start, end) and the address from
  356. where AllocMem() was called.
  357.  
  358. Files
  359. List lock, access, size and name of open files.
  360.  
  361. Locks
  362. List any lock.
  363. BUG: Trying to lock the Volume "RAM Disk" crashes the machine sometimes. If
  364. a Volume "RAM Disk" is found it will be replaced by the devicename "RAM:"
  365. (this has been fixed on WB 1.3). Make sure you don't have a disk labeled
  366. "RAM Disk" or you'll never see its locks:-)
  367.  
  368. Currentdir
  369. List current directory settings of all processes.
  370.  
  371. Devices
  372. List name,heads,sectors,tracks,startup-buffers and handler-process of every
  373. DOS-device.
  374.  
  375. Inputhandler
  376. Display node, priority and name (if any) of the input-handlers currently in
  377. use.
  378.  
  379. Capture
  380. Show vectors controlling the reset, i.e. CoolCapture, ColdCapture and
  381. WarmCapture pointers, KickMem allocations. Useful when searching
  382. for Viruses, but remember that the RAD: device in 1.3 uses the KickMem
  383. pointer to recover from a reset.
  384.  
  385. ClrCool
  386. ClrCold
  387. ClrWarm
  388. Clear one of those pointers.
  389.  
  390. TimerIO
  391. Display pending timer requests. It shows the address of the
  392. IORequest-structure, the unit (MICROHZ or VBLANK), the time to complete (up
  393. to 255 secs) and the task submitting the request.
  394.  
  395. RemResident <resident module name>
  396. Kicks the resident module out of the ResModules-List. It does not free the
  397. module itself, but only makes sure it won't be reactivated during the next
  398. reset. Removing a ROM-based module does not have any effect.
  399.  
  400. Repeat <Command string>
  401. Repeats the command string at the current refresh rate (see 'Time').
  402. However, commands not producing any output won't be repeated, but only
  403. executed once. Press <enter> to stop.
  404. Example: Time 1
  405.      Repeat TimerIO
  406.  
  407. TrapGuru
  408. Activates a trap handler similar to GOMF. It only works with a 68000
  409. processor, as it relys on a specified stack frame (at least I think so,
  410. couldn't check it out). If an exception occurs (i.e. GURU) Xoper will
  411. stop (or popup, if running in background) and display some information
  412. about what happened (the taskname causing the error, its program counter,
  413. the alert number etc.) and you'll be asked if you want to (K)ill the task
  414. or (I)gnore the exception. Choosing (i)gnore will do nothing at all if the
  415. erroneous program was a process (as it will stop itself displaying a
  416. 'Task held...' requester), but force a task to execute a 'Wait(0L)' (i.e.
  417. wait forever) as tasks do directly display an alert box.
  418.  
  419. Alias <AliasName> <CommandName>
  420. Defines a new name to be used along with the original command name. The new
  421. name should not contain any blanks.
  422. Example: Alias ih InputHandler
  423.  
  424. SetFKey <key number> <string>
  425. Assign a string to a funktion key. 'Key number' is a value between 1-20,
  426. 10-20 denotes shifted keys. Use '^' to simulate a <return> and '_' for
  427. space (the parser strips leading/trailing blanks).
  428. Example: SetFKey 1 Hunks^
  429.      enter t <return>, press <escape>, move the cursor to a process,
  430.      press F1
  431.  
  432. Lockdrive <drivename:>
  433. Prevent DOS, Workbench and Disk-Validator from cluttering on the drive.
  434. This command isn't very useful, but I needed it myself. Please note that
  435. the drivename is case sensitive and has to end with a ':'.
  436.  
  437. Freedrive <drivename:>
  438. Re-enable a drive.
  439.  
  440. DiskChange
  441. Show all installed diskchange interrupts. It displays the node, data and
  442. code fields of the interrupt, the device it is attached to (df0:-df3:) and
  443. the task which added the interrupt (if available). The main purpose for
  444. this command is to check for a virus, as the diskchange interrupt is a
  445. wonderful place to install them.
  446.  
  447. Windows
  448. List address and title of all windows.
  449.  
  450. Screens
  451. List address and title of screens.
  452.  
  453. Fonts
  454. List address,height,width,type,fist character and last character of all
  455. loaded fonts.
  456.  
  457. Windowfonts
  458. List Windows and associated fonts.
  459.  
  460. SetFont [size] <fontname> <window>
  461. Change the default font of a window. To avoid confusion, you should use a
  462. font with the same font size as the original font, as many programs rely on
  463. the point size.
  464. Example: Windows
  465.      Press <esc>, move the cursor to the Xoper window line and type
  466.      Setfont diamond.font
  467.      (now you know what I mean by 'relying on a font size' :-))
  468.  
  469. Freeze [processnumber] <taskname>
  470. Halt a Task. The task should be READY or WAITING. Frozen tasks are queued in
  471. a new list called FROZEN. When you leave Xoper, halted Task will be
  472. released.
  473. Example: Freeze Killer Graphics Task
  474.  
  475. Warm [processnum] <taskname>
  476. Restart a halted Task. Task must be FROZEN.
  477. Example: Warm Killer Graphics Task
  478.  
  479. Hide <taskname>
  480. The task-list tend to be longer than the window size. You may inhibit the
  481. output of some tasks you are not interested in using his command.
  482. Example: Hide trackdisk.device
  483.  
  484. Hidden
  485. Turn those hidden Tasks back on. It is actually a toggle.
  486.  
  487. Header
  488. Toggle the (rather long) header on the task display on/off.
  489.  
  490. Sort
  491. The tasks listing is sorted (on V1.3 and above) to avoid 'jumping' of the
  492. display. Sort toggles this feature on/off. (Stupid command, but was easy
  493. to implement).
  494.  
  495. CLICmd
  496. Toggles between showing the loaded command and the taskname of CLI processes
  497. in the tasks listing.
  498.  
  499. Info <librarynode | devicenode>
  500. Show additional information stored in the lib_IdString field.
  501. Example: Info arp.library
  502.  
  503. Openlib <libraryname>
  504. Open a library. This is useful if you don't want a specified library being
  505. 'flushed' out.
  506. Example: Openlib arp.library
  507.  
  508. Clear [longword]
  509. Fill unused memory chunks with pattern, default is 0. Handy for debuggers.
  510. Example: Clear $66726565
  511.  
  512. Flush
  513. Clean up memory, flush unused libraries, devices and fonts.
  514.  
  515. Lastalert
  516. Show last Guru Meditation code or rubbish.
  517.  
  518. Usage
  519. Toggle CPUSE field on the task display between usage relative to all
  520. possible dispatches and usage relative to actually dispatched tasks.
  521. Ahem...not very clear I think. Well, let me try again...
  522. If you add all CPUSE fields together you get 100 % (more or less 1%). After
  523. entering "Usage" adding the fields together will give you the same value as
  524. shown in the 'CPU Activity field'. (I HATE having to write docs)
  525.  
  526. Taskports
  527. Disable / enable a listing of taskports if ports are displayed.
  528.  
  529. Window <leftedge> [toptedge [width [height]]]
  530. Works only on script files. Defines the window to be opened.
  531. Example: Window 0 0 550 190
  532.  
  533. HistoryLines <number of lines>
  534. Set the maximum number of input lines the history buffer should hold.
  535. Default is 10 lines.
  536.  
  537. MinimumChars <number of characters>
  538. Set the minimum number of characters an inputline should have to be added to
  539. the history buffer.
  540. Default is 2 characters.
  541.  
  542. ShowHistory
  543. Show the history buffer. (quite useless, I know)
  544.  
  545. KillHistory
  546. Delete all lines from the history buffer. (still useless)
  547.  
  548. OutputLines <number of lines>
  549. Set the maximum number of lines the output buffer may hold. If the buffer
  550. overflows, a line from the top of the buffer will be deleted for each new
  551. line.
  552. The default value is 500, using a maximum of 500 * 104 = 52000 bytes.
  553.  
  554. SaveOutput <filename>
  555. Write the contents of the output buffer to a file.
  556.  
  557. IconifyOff
  558. Turns the iconifying routine off, freeing all memory associated with its
  559. code and image.
  560.  
  561. BackDropIcon
  562. Puts the Xoper icon behind all other windows, instead of creating it on top
  563. of them.
  564.  
  565. UseScreen
  566. Opens Xoper on a screen. The new screen will take its data (width, colors,
  567. viewmodes etc.) from the Workbench screen and open a borderless backdrop
  568. window on it.
  569.  
  570. UseWindow
  571. Opens Xoper on a window.
  572.  
  573. Quit or just Q
  574. Exit Xoper. If Xoper was started with '-b' or if 'Hold' was specified it
  575. will stay in background waiting for LeftAmiga-RightAmiga-X.
  576.  
  577. Hold
  578. Exit Xoper but install a key-handler and stay in background. Window
  579. settings and display commands are saved.
  580.  
  581. Exit
  582. Clean up and quit.
  583.  
  584. !!!! WARNING: The next few commands are dangerous and 'dirty' !!!!!
  585. !!!!!!!!!!!! don't use them if not strictly necessary !!!!!!!!!!!!!
  586.  
  587. Kill [processnumber] <taskname>
  588. Kill a task or a process. If the task has been called from CLI, the Task
  589. itself and the CLI will be killed. Hunks, Windows, Screens  and the
  590. teminal-window will be freed. Simple tasks are just RemTask()'ed. If it is
  591. not a CLI Task you'll be asked if it is a Workbench task, if the answer is
  592. 'Yes' unloading will be done by the Workbench. If not, you will be prompted
  593. if Xoper should unload the code. Enter 'No' if you don't know how the task
  594. has been started. A good example for tasks that should NEVER be unloaded are
  595. program started by ARP'S ASyncRun (or ARun).
  596.  
  597. Closewindow <title>
  598. Closes a Window. Please, use it only if the corresponding Task has been
  599. 'Cancel'ed. Use the Window-Structure address if the window has no name.
  600.  
  601. Closescreen <title>
  602. same as above, but for screens.
  603.  
  604. Unlock <lock (BPTR)>
  605. Unlock a file.
  606.  
  607. Closelib <libraryname>
  608. This is exactly the same as CloseLibrary().
  609.  
  610. CD [processnumber] <processname>
  611. Change the current directory of a process. You are prompted if the old
  612. directory lock should be unlocked.
  613.  
  614. Signal <mask> [processnumber] <taskname>
  615. Set any task-signal. Mask is a hexadecimal value with or w/o leading '$'.
  616. See task's SIGWAIT field for sensible values. Tasks normally do not wait for
  617. signals only, but for messages, that's why this command may not have the
  618. desired effect, but it is quite useful for tasks hanging around and waiting
  619. for events that may never happen. Warning: Using Signal without any
  620. knowledge about what you are going to signal may cause a system-crash!
  621. Example: Signal 10000000 PopCLI III
  622.  
  623. ----------------------------------------------------------------------------
  624. ;Sample Startup Script (to be placed in s:Xoper.Startup)
  625. ;
  626. ; Window definition on a overscanned + PAL Workbench screen
  627. Window 122 0 550 230
  628. ;
  629. ;don't display some Tasks
  630. ;
  631. Hide CON
  632. Hide trackdisk.device
  633. ;
  634. ;but turn them on on Startup
  635. ;
  636. Hidden
  637. ;
  638. ;Change the default list to Ports
  639. ;
  640. P
  641. ----------------------------------------------------------------------------
  642. Please send flames, bug reports and especially a list of features you would
  643. like to have included in the next version to
  644.  
  645.  Werner Gunther
  646.  Wingertspfad 12
  647.  D 6900 Heidelberg
  648.  (Germany)
  649.  
  650. or to my EMAIL address for a fast response:
  651.  
  652.  G35@DHDURZ1.BITNET
  653.